Computer Science 397T                                                                           Syllabus for Fall 2013

Dr. Carol E. Wolf                                                                                   Office 215

Website: http://csis.pace.edu/~wolf                                                    E-mail: cwolf@pace.edu

Office Hours: Mondays and Wednesdays, 1:30-3:30.                                   Phone: 212-346-0799

 

Text:  Sam Ruby, Dave Thomas and David Heinemeier Hansson, Agile Web Development with Rails, Fourth edition, The Pragmatic Programmers, 2011

The text is available in PDF and other formats from the Pragmatic Programmers’ website, http://www.pragprog.com.

 

  Week

Topic

 

  1

Lecture: Three tier applications, Ruby and Rails histories

Lab: Install Ruby on Rails on laptops and set up an application using scaffold

  2

Lecture: Ruby language,

Lab:  Cascading Style Sheets, Seeds

  3

Lecture:  Model-View-Controller paradigm in a Rails project, Views

Lab:  Validation and Testing

  4

Lecture: Controller and ERB, more on Ruby

Lab: Controller, Views, Forms and Routes

  5

Lecture:   Databases, models and migrations

Lab: Add an image column and modify views

  6

Lecture: More HTML forms

Lab: Add radio buttons, checkboxes and choice boxes to forms

  7

Lecture: Controller and routes

Lab: The home page controller: list and find

  8

Lecture: A page and login for the manager

Lab: The manager’s controller: create, update and delete

  9

Lecture: Database design and related tables

Lab: A library with books and borrowers

  10

Lecture: Sessions and security

Lab: A shopping cart for the store

  11

Lecture: Sending Email from a Rails Application, XML, JSON and Ajax

Lab: Checking out and sending email

  12

Lecture: Introduction to SQL, Apache and Java Server Beans

 

  13

Presentations

 

 

 

 

Learning objectives:

1.         Students will understand the model-view-controller paradigm and be able to use it to create web applications.

2.         Students will learn enough of the Ruby language to enable them to program the project’s controller.

3.         Students will use HTML, Cascading Style Sheets and JavaScript to enhance their web pages.

4.         Students will understand basic database concepts.